A. Technical Field
The present invention relates to networks and, more particularly, to systems, devices, and methods of routing data in a multipathing domain, such as a Virtual Link Trunking (VLT) network configuration.
B. Background of the Invention
When transmitting packets of data using an aggregation interconnection, such as a VLT network, a router has generally no control over which of multiple possible peer devices in the VLT a particular packet will be hashed. If the packet is hashed over a device that is not multi-homed on all VLT peers, an additional hop over an interconnect link (ICL) is therefore likely to occur before the packet is sent to its intended destination. Also, since existing VLT routing and Link Aggregation Group (LAG) hashing are performed over the entirety of a VLT LAG, a packet may reach any next hop ignoring desirable equal-cost multi-path (ECMP) decisions.
FIG. 1 illustrates an existing VLT network with sub-optimal paths over next hops. Network 100 comprises 3-node VLT LAG domain 102 formed by a group of VLT peer devices 112-116, downstream device router A 130, upstream devices routers B 132 and C 134, and host H4 136. VLT peer devices X 112, Y 114, and Z 116 are network switching devices that couple to network nodes via router ports and forward or route traffic according to known data structures that contain routing information. Suitable data structures include routing and next hop tables, e.g., ARP tables that map IP address to routing MAC addresses and its outgoing ports. VLT peer device X 112, Y 114, and Z 116 may be coupled to each other, at their ports, via any number of network links, such as ICL 115.
As shown in FIG. 1, south-bound VLT LAG 120 comprises links that are connected between VLT peer device X 112, Y 114, and Z 116 and router A 130, such that router A 130 may view all VLT peer devices 112-116 as a single device or unit having combined ports for purposes of exchanging network traffic with a given destination, such as router A 130. In other words, router A 130 need not be concerned with which of VLT peer device 112-116 receives a data packet that router A 130 sends for performing the requested routing function on the packet. Similarly, north-bound VLT LAG 122 comprises links that connect router B 132 to VLT peer X 112 and Y 114, i.e., router B 132 is multi-homed on VLT peer X 112 and Y 114, but is not directly coupled to VLT peer Z 116. VLT LAG 124 comprises links that connect router C 134 to VLT peer X 112 and Z 116, i.e., router C 132 is multi-homed on VLT peer X 112 and Z 116, but not on VLT peer Y 114. Routers B 132 and C 134 are coupled to destinations host H2 140 and host H3 142, respectively. Orphan port 126 is directly connected to host H4 136. In other words, devices that are connected to a VLT LAG are not necessarily also multi-homed.
In operation, when a packet is to be forwarded from router A 130 to router B 132 intended for host H2 140 or from router A 130 to router C 134 via VLT domain 102 to final destination host H3 142, and if router A 130 LAG-hashes network traffic to VLT peer Z 116, then router A 130 has no control over which of VLT peers 112-116 the packet will be actually transmitted. In scenarios where the data packet is directed to VLT peer Z 116, an unnecessary additional hop along ICL 115 will be required to carry traffic to VLT peer Y 114 before the packet can then be transmitted to router B 132. This creates sub-optimal paths that tends to oversubscribe ICL 113, 115.
Similarly, any traffic from host H1 144 destined for host H4 136 could get LAG-hashed alternatively to ports on VLT peer X 112 or Y 114, again, requiring that ICL 113, 115 be utilized to carry network traffic. In short, in scenarios where traffic is hashed to VLT peer Z 116, an additional hop over ICL 115 has to be utilized to detour the traffic to peer Y 114 before data packets can be delivered to router B 132.
In fact, in an N-node VLT domain with N>2 there is a likelihood that VLT devices 130-136 at the termination of a VLT LAG are not multi-homed on all VLT peers 112-116. Even for 2-node VLT systems, current VLT routing does not guarantee that a packet is routed to the actual next hop, because it is LAG hashing on the VLT that determines the actual next hop that a packet will reach, i.e., which ports coupled to corresponding network links the hashing mechanism will choose to forward any given packet. Thus, sub-optimal network paths may result any time the destination device or an intermediate router is single-homed.
Further, although both L3-routing and ECMP view individual VLT peers 112-116 as next hops, since LAG hashing takes priority over ECMP decisions, traffic may be directed to any of VLT peers 112-116 irrespective of ECMP decisions in favor of LAG hashing.
Therefore, it would be desirable to have systems and methods that honor ECMP decisions while avoiding the creation sub-optimal network paths in networks where the entire VLT LAG is used to perform VLT routing and LAG hashing.